package com.tensquare.friend.client;

import entity.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PutMapping;

/**
 * User Feign.
 *
 * @author 宫新程
 * @since 2019/3/20 16:39
 */
@FeignClient("tensquare-user")
public interface UserClient {

  /**
   * 根据ID查询 User.
   *
   * @param id ID
   * @return Result.
   */
  @GetMapping("/user/{id}")
  Result findById(@PathVariable("id") String id);

  /**
   * 更新好友的 粉丝数 和 自己的关注数.
   *
   * @param userid 用户id
   * @param friendid 好友id
   * @param x 数量
   */
  @PutMapping("/user/{userid}/{friendid}/{x}")
  void updateFanscountAndFollowcount(
      @PathVariable("userid") String userid,
      @PathVariable("friendid") String friendid,
      @PathVariable("x") Integer x);
}
